/** 
* @Title: TicketSoldThreadTest.java 
* @Package com.lh.threadtest.t7 
* @Description: TODO
* @author Liu 
* @date 2018年1月17日 上午9:58:08 
* @version V1.0 
*/
package com.lh.threadtest.t7;

/** 
* @ClassName: TicketSoldThreadTest 
* @Description: 多个线程之间共享数据的方式探讨
* 
* 如果每个线程执行的代码相同，可以使用同一个Runnable对象，这个Runnable对象中有那个共享数据。
* 例如，买票系统就可以这么做
* 
* @author Liu
* @date 2018年1月17日 上午9:58:08 
*  
*/
public class TicketSoldThreadTest {

	/***
	* @Title: main 
	* @Description: TODO
	* @param @param args
	* @return void
	* @throws 
	*/
	public static void main(String[] args) {
		TicketSoldBusiness ticketSoldBusiness = new TicketSoldBusiness();
		for(int i = 0; i < 2; i++){
			new Thread(ticketSoldBusiness).start();
		}
		
	}

}

class TicketSoldBusiness implements Runnable{
	private int count = 10;
	
	private void dec(){
		count--;
		System.out.println(Thread.currentThread().getName() + " count: " + count);
	}

	/* (非 Javadoc) 
	* <p>Title: run</p> 
	* <p>Description: </p>  
	* @see java.lang.Runnable#run() 
	*/
	@Override
	public void run() {
		while(count > 0){
			dec();
		}
	}
	
}
